package com.elock.entity;

import java.math.BigDecimal;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import com.elock.base.core.entity.BaseEntity;

/**
 * 锁的实时状态
 * @author 仁德
 */
@Entity
@Table(name = "elock_realtime_status")
@SequenceGenerator(name = "sequenceGenerator", sequenceName = "elock_realtime_status_sequence")
public class ElockRealtimeStatus extends BaseEntity {

	private static final long serialVersionUID = 3416347851613968135L;

	/** 锁id，新增注册锁时，需写入一条空数据 */
	private Long elockId;

	/** 锁号 */
	private String elockNum;

	/** 状态描述：0空 1开锁  2锁定*/
	private int status = 0;

	/** 基站定位数据 */
	private String jzdw;

	/** 经度 */
	private BigDecimal longitude;

	/** 纬度 */
	private BigDecimal latitude;
	/** 高程 */
	private BigDecimal altitude;
	/** 速度 */
	private BigDecimal speed;
	/** 方向 */
	private int direction;
	/** GPS时间 */
	private String gpsTime;

	/** 状态信息描述 */
	private String statusDesc;
	/** 报警信息描述 */
	private String warningDesc;

	/** 备注 */
	private String remark;

	/** 当次唯一标识，日志也记录，可关联事件表查询 */
	private String uuid;

	public Long getElockId() {
		return elockId;
	}

	public void setElockId(Long elockId) {
		this.elockId = elockId;
	}

	public String getElockNum() {
		return elockNum;
	}

	public void setElockNum(String elockNum) {
		this.elockNum = elockNum;
	}

	public int getStatus() {
		return status;
	}

	public void setStatus(int status) {
		this.status = status;
	}

	public String getUuid() {
		return uuid;
	}

	public void setUuid(String uuid) {
		this.uuid = uuid;
	}

	public String getJzdw() {
		return jzdw;
	}

	public void setJzdw(String jzdw) {
		this.jzdw = jzdw;
	}

	@Column(precision = 21, scale = 6)
	public BigDecimal getLongitude() {
		return longitude;
	}

	public void setLongitude(BigDecimal longitude) {
		this.longitude = longitude;
	}

	@Column(precision = 21, scale = 6)
	public BigDecimal getLatitude() {
		return latitude;
	}

	public void setLatitude(BigDecimal latitude) {
		this.latitude = latitude;
	}

	@Column(precision = 21, scale = 6)
	public BigDecimal getAltitude() {
		return altitude;
	}

	public void setAltitude(BigDecimal altitude) {
		this.altitude = altitude;
	}

	@Column(precision = 21, scale = 6)
	public BigDecimal getSpeed() {
		return speed;
	}

	public void setSpeed(BigDecimal speed) {
		this.speed = speed;
	}

	public int getDirection() {
		return direction;
	}

	public void setDirection(int direction) {
		this.direction = direction;
	}

	public String getGpsTime() {
		return gpsTime;
	}

	public void setGpsTime(String gpsTime) {
		this.gpsTime = gpsTime;
	}

	public String getStatusDesc() {
		return statusDesc;
	}

	public void setStatusDesc(String statusDesc) {
		this.statusDesc = statusDesc;
	}

	public String getWarningDesc() {
		return warningDesc;
	}

	public void setWarningDesc(String warningDesc) {
		this.warningDesc = warningDesc;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

}
